Extensions To Standard Facilities

The kernel maintains a set of per processor control information such as the speed of the processor for delay loops. These functions on the SMP kernel look the values up in a per processor array that is set up from the data generated at boot up by the smp_store_cpu_info() function. This includes other facts such as whether there is an FPU on the processor. The current kernel does not handle floating point correctly, this requires some changes to the techniques the single CPU kernel uses to minimise floating point processor reloads.

The highly useful atomic bit operations are prefixed with the 'lock' prefix in the SMP kernel to maintain their atomic properties when used outside of (and by) the spinlock and message code. Amongst other things this is needed for the invalidate handler, as all CPU's will invalidate at the same time without any locks.

Interrupt 13 floating point error reporting is removed. This facility is not usable on a multiprocessor board, nor relevant to the Intel MP architecture which does not cover the 80386/80387 processor pair.

The /proc filesystem support is changed so that the /proc/cpuinfo file contains a column for each processor present. This information is extracted from the data save by smp_store_cpu_info().